package com.ah.shanxi_demo.service;

import com.ah.shanxi_demo.common.enums.OrderCommonEnum;
import com.ah.shanxi_demo.entity.SxOrder;
import com.ah.shanxi_demo.param.input.OrderPO;
import com.ah.shanxi_demo.param.result.OrderGeneralRO;
import com.ah.shanxi_demo.param.result.OrderShowRO;
import com.ah.shanxi_demo.param.result.OrderTrendRO;
import com.ah.shanxi_demo.param.result.OrderTypeRO;

import java.util.List;

/**
 * @author zt 2020/8/16
 */
public interface IOrderService {

    List<SxOrder> listBySelect(OrderPO orderPO);
    Integer listCountBySelect(OrderPO orderPO);
    Boolean deleteOrder(Long[] orderIdList);
    SxOrder selectById(Long orderId);

    //同步 更新 生成工单数据
    void syncOrder();

    //同步 更新 生成工单数据(模拟)
    void syncSimulationOrder();

    //数据库插入工单列表
    Boolean insertOrderList(List<SxOrder> sxOrderList);

    //查询工单类型
    List<OrderTypeRO> selectOrderType();

    //查询工单趋势
    OrderTrendRO selectOrderTrend();

    //查询工单未处理 已处理数量
    OrderGeneralRO general();

    Boolean handleOrderStatus(Long orderId, OrderCommonEnum orderCommonEnum);

    OrderShowRO orderShow(Long orderId);


}
